package com.learn.elasticsearch.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.learn.elasticsearch.domain.ArchivesRecord;

import java.io.IOException;
import java.util.Map;
import java.util.Set;

public interface BaseSearchService<T> {


    /**
     * 删除索引库
     * @param indexName
     * @return
     */
    void deleteIndex(String indexName);

    Page<ArchivesRecord> searchAll(long pageNo, long pageSize);
    /**
     * 全字段模糊匹配 （高亮显示）
     *
     * @param keyword
     * @param pageNo
     * @param pageSize
     * @return
     * @throws IOException
     */
    Page<ArchivesRecord> simpleSearchHeightLight(String keyword, long pageNo, long pageSize);
    /**
     * 全字段模糊匹配
     *
     * @param keyword
     * @param pageNo
     * @param pageSize
     * @return
     */
    Page<ArchivesRecord> simpleSearch(String keyword, long pageNo, long pageSize);
    /**
     *  即时搜索
     * @param keyword
     * @return
     */
    Set<Map<String, Object>> realTimeSearch(String keyword);
}
